解析神器xpath使用教程

您所在的位置:网站首页 xpath 使用 解析神器xpath使用教程

解析神器xpath使用教程

#解析神器xpath使用教程| 来源: 网络整理| 查看: 265

介绍

XPath (XML Path Language) 是一门在 HTML\XML 文档中查找信息的语言,可用来在 HTML\XML 文档中对元素和属性进行遍历。

为什么要学习xpath和parselparsel是一款高性能的 Python HTML/XML 解析器。将字符串转化为Selector对象,Selector对象具有xpath的方法,返回结果的列表,能够接受bytes类型的数据和str类型的数据。我们可以利用XPath,来快速的定位特定元素以及获取节点信息节点

每个html的标签我们都称之为节点。(根节点、子节点、同级节点)

节点的关系节点的关系xpath说明

XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。

xpath表达式

表达式

描述

nodename

选中该元素。

/

从根节点选取、或者是元素和元素间的过渡。

//

从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。跨节点获取标签

.

选取当前节点。

..

选取当前节点的父节点。

@

选取属性。

text()

选取文本。

选取未知节点

通配符

描述

*

匹配任何元素节点。

@*

匹配任何属性节点。

node()

匹配任何类型的节点。

/div/*

选取 div元素的所有子元素。

//*

选取文档中的所有元素。

//title[@*]

选取所有带有属性的 title 元素。

xpath的使用方法

要用到parsel模块

import parsel

使用xpath的前提是 具有xpath方法 –> Selector对象

提取到的数据返回一个列表

转换数据类型方法

代码语言:javascript复制data = parsel.Selector(html_str).extract() # parsel能够把缺失的html标签补充完成 data = parsel.Selector(html_str) # parsel能够把缺失的html标签补充完成xpath表达式说明代码语言:javascript复制 第一个 第二个 第三个 第四个 第五个 从根节点开始,获取所有 a 标签代码语言:javascript复制result = data.xpath('/html/body/div/ul/li/a').extract() print(result)跨节点获取所有 a 标签代码语言:javascript复制result = data.xpath('//a').extract() print(result)选取当前节点 使用场景:需要对选取的标签的下一级标签进行多次提取代码语言:javascript复制result = data.xpath('//ul') result2 = result.xpath('./li').extract() result3 = result.xpath('./li/a').extract() print(result3)选取当前节点的父节点,获取父节点的class属性值代码语言:javascript复制result = data.xpath('//a') result4 = result.xpath('../@class').extract() print(result4)获取第三个 li 标签的节点(两种方法)代码语言:javascript复制result = data.xpath('//li[3]').extract() result = data.xpath('//li')[2].extract() print(result)通过定位属性的方法获取第四个 a 标签代码语言:javascript复制result = data.xpath('//a[@href="link4.html"]').extract() print(result)用属性定位标签,获取第四个 a 标签包裹的文本内容代码语言:javascript复制result = data.xpath('//a[@href="link4.html"]/text()').extract() print(result)获取第五个 a 标签的href属性值代码语言:javascript复制result = data.xpath('//li[5]/a/@href').extract() print(result)

可以将上面的代码复制到本地 print一下

或者直接使用谷歌浏览器插件 xpath helper

下载方式:

谷歌商店下载–> 下载地址本地下载–> 下载地址

本地下载安装方法可以百度,很简单的–>传送门



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3